<?php
require_once "login.php";
require_once 'DAO/DAOEmpresa.php';
require_once 'DAO/DAOImagemEmpresa.php';
require_once 'DAO/DAOEstatisticaEmpresa.php';
require_once 'DAO/DAONoticia.php';
require_once 'DAO/DAOCardapio.php';

class EmpresaController {

    private $empresa;

    function EmpresaController() {
        $gets = explode("/", $_SERVER['REQUEST_URI']);
        $EMP_CODIGO = (isset($gets[2])) ? $gets[2] : NULL;
        if (is_numeric($EMP_CODIGO)) {

            $de = new DAOEmpresa();
            if ($this->empresa = $de->getEmpresa($EMP_CODIGO)) {
                $this->addEstatistica();
                $this->verificaFormNoticia();
                $this->verificaFormCardapio();
                if($this->getEmpresa()->getValidadeDaConta()){
                    require_once 'viewEmpresa.php';
                }else{
                    echo "Exibe Pagina de Erro!";
                }
            } else {
                echo "Exibe Pagina de Erro!";
            }
        } else {
            echo "Exibe Pagina de Erro!";
        }
    }

    function addEstatistica() {
        /*          Add contagem as Estatistica do evento           */
        $DAOEstatisticaEmpresa = new DAOEstatisticaEmpresa();
        $DAOEstatisticaEmpresa->addEstatisticaEmpresa(new Estatistica($this->empresa, LoginController::singleton()->getUsuario(), 0, 0, $_SERVER["REMOTE_ADDR"]));
    }

    function verificaFormNoticia() {
        if (isset($_POST['formCadastroNoticia'])) {
            $DAONoticia = new DAONoticia();
            $DAONoticia->addNoticia(new Noticia(0, $this->getEmpresa(), ($_POST['edtTituloNoticia']), nl2br($_POST['edtConteudoNoticia'])));
        }
    }

    function verificaFormCardapio() {
        if (isset($_POST['formCadastroCardapio'])) {
            $DAOCardapio = new DAOCardapio();
            $cardapio = new Cardapio();
            $cardapio->setEmpresa($this->getEmpresa());
            if ($_FILES['edtImagemCardapio']['error'] == UPLOAD_ERR_OK) {
                if (is_uploaded_file($_FILES['edtImagemCardapio']['tmp_name'])) {
                    $cardapio->setImagem(addslashes(file_get_contents($_FILES['edtImagemCardapio']['tmp_name'])));
                    $DAOCardapio->addCardapio($cardapio);
                }
            }
        }
    }

    function getImagensEmpresa(Empresa $empresa) {
        //ImagemPrincipal
        echo '<img class="img-polaroid span12" src="/img/' . ($empresa->getImagemPrincipal($empresa)->getImagem()) . '" style="margin: 0px;" alt=""><br>';
        //Outras Imagens
        //Falta FAZER
    }

    function getMeusEventosForUsers(Empresa $empresa) {
        require_once 'DAO/DAOEventos.php';
        $eventos = $empresa->getEventos();
        ?> 
        <table class="table table-striped">
            <tr>
                <th>#</th>
                <th>Titulo</th>
                <th>Data</th>
            </tr>
            <?
            $cont = 1;
            foreach ($eventos as $evento) {
                ?>
                <tr>
                    <td><? echo $cont++; ?></td>
                    <td style="word-wrap: break-word;"><a href="/evento/<? echo $evento->getCodigo(); ?>"><? echo $evento->getTitulo(); ?></a></td>
                    <td><? echo $evento->getData(); ?></td>
                </tr>
        <? } ?>
        </table>
        <?
    }

    function getMeusEventos(Empresa $empresa) {
        require_once 'DAO/DAOEventos.php';
        $eventos = $empresa->getEventos();
        ?> 
        <table class="table table-striped">
            <tr>
                <th>#</th>
                <th>Codigo</th>
                <th>Titulo</th>
                <th>Data</th>
                <th><center>Excluir/Editar</center></th>
        </tr>
        <?
        $cont = 1;
        foreach ($eventos as $evento) {
            ?>
            <tr>
                <td><? echo $cont++; ?></td>
                <td><? echo $evento->getCodigo(); ?></td>
                <td style="word-wrap: break-word;"><a href="/evento/<? echo $evento->getCodigo(); ?>"><? echo $evento->getTitulo(); ?></a></td>
                <td><? echo $evento->getData(); ?></td>
                <td><center><i class="icon-remove" title="Excluir"> </i>   <i class="icon-edit" title="Editar"> </i></center></td>
            </tr>
        <? } ?>
        </table>
        <a href="/cadastroEvento" class="btn"><i class="icon-plus"> </i>  Novo Evento</a>
        <?
    }

    public function getNoticias() {
        $DAONoticia = new DAONoticia();
        $noticiasPorPagina=5;
        $gets = explode("/", $_SERVER['REQUEST_URI']);
        $pagina = (isset($gets[4])) ? $gets[4] : NULL;
        if (isset($_SESSION['Usuario'])) {
            if ($_SESSION['USU_TIPO'] == TIPO_EMPRESA) {
                $empresa = $_SESSION['Usuario'];
                if ($empresa->getCodigo() == $this->getEmpresa()->getCodigo()) {
                    ?>
                    <form class="form-horizontal" method="POST" action="">
                        <input type="hidden" name="formCadastroNoticia" value="formCadastroNoticia"/>
                        <div class="control-group">
                            <label class="control-label" for="edtTituloNoticia">Titulo</label>
                            <div class="controls">
                                <input type="text" name="edtTituloNoticia" placeholder="Titulo"/>  
                            </div>
                        </div>
                        <div class="control-group">
                            <label class="control-label" for="edtTituloNoticia">Conteudo</label>
                            <div class="controls">
                                <textarea name="edtConteudoNoticia"></textarea>
                            </div>
                        </div>
                        <div class="control-group">
                            <div class="controls">
                                <button type="submit" class="btn">Enviar Noticia</button>
                            </div>
                        </div>


                    </form>
                    <?
                }
            }
        }

        $noticias = $DAONoticia->getNoticiasByEmpresa($this->getEmpresa(),$pagina*$noticiasPorPagina,$noticiasPorPagina);
        if (!$noticias) {
            echo "Sem Noticias no Momento :/";
        }
        foreach ($noticias as $noticia) {
            ?>
            <section>
                <h3 style="word-wrap: break-word;"> <? echo $noticia->getTitulo(); ?> </h3>
                <p style="word-wrap: break-word;"> <? echo $noticia->getConteudo(); ?> </p>
                <h6> <? echo $noticia->getHorario(); ?></h6>
            </section>
            <?
        }
        ?>
        <ul class="pager">
            <li class="previous <? if(!$pagina) echo "disabled"?>">
                <a <? if($pagina){  ?>href="<?echo "/empresa/".$this->empresa->getCodigo()."/pag/". ($pagina>0) ? $pagina-1 : "0";?>"<?}?>>&larr; Newer </a>
            </li>
            <li class="next <? if(count($noticias)!=$noticiasPorPagina) echo "disabled"; ?>">
                <a <? if(count($noticias)==$noticiasPorPagina){ ?>href="/empresa/<? echo $this->empresa->getCodigo(); ?>/pag/<? echo $pagina+1;?>"<? } ?>>Older &rarr;</a>
            </li>
        </ul>
        <?
    }

    public function isUniversitario() {
        $categorias = $this->getEmpresa()->getCategoriasDaEmpresa();
        foreach ($categorias as $categoria) {
            if ($categoria->getCategoria()->getArea()->getCodigo() == 4) {
                return true;
            }
        }
        return false;
    }

    public function getCardapio() {
        if ($empresa = LoginController::singleton()->getUsuario()) {
            if (LoginController::singleton()->getTipo() == TIPO_EMPRESA && $empresa->getCodigo() == $this->getEmpresa()->getCodigo()) {
                ?>
                <form class="form-horizontal" method="POST" action="" enctype="multipart/form-data">
                    <input type="hidden" name="formCadastroCardapio" value="formCadastroCardapio"/>
                    <div class="control-group">
                        <label class="control-label" for="edtImagemCardapio">Selecione a Imagem do Cardapio</label>
                        <div class="controls">
                            <input type="file" name="edtImagemCardapio" required="required"/>
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="controls">
                            <button type="submit" class="btn">Cadastrar Cardapio</button>
                        </div>
                    </div>
                </form>
                <br>
                <?
            }
        }
        if ($this->getEmpresa()->getCardapioDaEmpresa()) {
            echo '<img class="img-polaroid span12" style="margin: 0px;" src="data:image/jpeg;base64,' . base64_encode($this->getEmpresa()->getCardapioDaEmpresa()->getImagem()) . '" alt="photo"><br>';
        } else {
            ?>
            <div class="alert-error">
                Cardapio não cadastrado até o momento.
            </div>
            <?
        }
    }

    public function getEmpresa() {
        return $this->empresa;
    }

}
?>